package de.mmis.core.base.gui;

import de.mmis.core.base.Position;
import de.mmis.core.base.device.Device;
import de.mmis.core.base.event.Observable;

/**
 * default {@link DeviceRepresentationComponent} used for all types of
 * {@link Device}. This component is used to disable the representation
 * Component. It is simply a zero-size panel.
 * 
 * @author Christian Koch
 * 
 */
public class InvisibleRepresentationComponent extends
		AbstractRepresentationComponent<Object> {
	private static final long serialVersionUID = -3064545377285716893L;

	public InvisibleRepresentationComponent() {
		super(-10, Object.class, "keine");
	}

	@Override
	public void initialize(Class<?> clazz) {
		setSize(0, 0); // this component will we invisible
	}

	@Override
	public void notify(Observable<? extends GUIEvent> sender, GUIEvent event) {
		// intentionally doing nothing
	}

	@Override
	public Position getRepresentationDimension() {
		return null;
	}
}
